<script>
  import COMMONAPI from '@/api/modules/common'
  import constData from '@/api/const.js' // 常量数据
  import { useOutsideUserInfoStore } from './store/userInfo'
  const useInfoStore = useOutsideUserInfoStore()

  export default {
    onLaunch: function () {
      // console.log('App Launch')
      const accountInfo = wx.getAccountInfoSync() // 动态获取小程序的appId
      let appId = accountInfo.miniProgram.appId;
      useInfoStore.setSingleAttrValue('appId', appId) // 设置小程序的appId
    },
    onShow: function () {
      // console.log('App Show')
      uni.setStorageSync('roleType', 'costom') // 菜单的权限

      this.getOrg() // 获取小程序appId绑定的机构信息
      this.getOpenId()  // 获取用户的openId、unionId、sessionkey
    },
    onHide: function () {
      // console.log('App Hide')
    },
    onLoad: function () {},
    onUnload() {},
    methods: {
      // 获取小程序appId绑定的机构信息
      getOrg() {
        let params = {
          appType: constData.wxType,
          appid: useInfoStore.appId
        }
        COMMONAPI.API_GETORG_GET(params).then((res) => {
          useInfoStore.setOrgInfo(res.data || {})
        })
      },
      // 获取用户的openId、unionId、sessionkey
      getOpenId() {
        wx.login({
          success: function (res) {
            // code 获取用户信息的凭证
            if (res.code) {
              COMMONAPI.API_GETOPENID_GET({ code: res.code }).then((res) => {
                let result = res.data || {}
                  setTimeout(()=>{
                    if (result.openid)
                    useInfoStore.setSingleAttrValue('openId', result.openid) // 用户的openId
                    if (result.unionId)
                      useInfoStore.setSingleAttrValue('unionId', result.unionId) // 用户的unionId
                    if (result.sessionkey)
                      useInfoStore.setSingleAttrValue('sessionkey', result.sessionkey) // 小程序login之后产生的sessionkey
                  })
            })
            }
          }
        })
      }
      // ----------
    }
  }
</script>

<style lang="scss">
  /*每个页面公共css */
  @import 'nutui-uniapp/styles/index.scss';
</style>
